package com.css.fxfzysx.modules.lifeline.repository;

import com.css.fxfzysx.modules.lifeline.entity.basicLibrary.*;
import com.css.fxfzysx.modules.lifeline.param.LifelineFoundationLibraryParam;
import com.css.fxfzysx.modules.lifeline.param.updateBasicLibraryParam;
import com.css.fxfzysx.modules.lifeline.vo.basic.DestructiveStateVo;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface LifelineFoundationLibraryRepository {
    int getNetworkCountByCondition(BasicLibraryNetworkEntity entity);

    void saveUpNetwork(BasicLibraryNetworkEntity entity);

    int getTransformerSubstationCountByCondition(BasicLibrarySubstationEntity entity);

    void saveTransformerSubstation(BasicLibrarySubstationEntity entity);

    int getPoolCountByCondition(BasicLibraryPoolEntity entity);

    void savePool(BasicLibraryPoolEntity entity);

    int getRoadCountByCondition(BasicLibraryRoadEntity entity);

    void saveRoad(BasicLibraryRoadEntity entity);

    int getGasCountByCondition(BasicLibraryGasEntity entity);

    void saveGas(BasicLibraryGasEntity entity);

    int getDevicesCountByCondition(BasicLibraryDevicesEntity entity);

    void saveDevices(BasicLibraryDevicesEntity entity);

    int getWireCountByCondition(BasicLibraryWireEntity entity);

    void saveWire(BasicLibraryWireEntity entity);

    int getBridgeCountByCondition(BasicLibraryBridgeEntity entity);

    void saveBridge(BasicLibraryBridgeEntity entity);

    HashMap<String, Object> page(LifelineFoundationLibraryParam param, int page, int size,String provinceId,Integer role);

    void updateById(updateBasicLibraryParam param);

    void deleteByTypeAndIds(Integer type, String id);

    DestructiveStateVo getByBasicInfo(Map<String, Object> map, Integer type, Integer range);
}
